import { EquipmentType } from "@/pages/station/stubList/services"
import request from "@/utils/request"

export enum ChargeSettleStatus {
  待打款 = 1,
  已打款 = 2,
  打款失败 = 3,
  '待打款(已修改资料)'= 4,
}

export interface QueryChargeSettleListParams extends PaginationParams {
  stationId?: string
  /** 前端用 */
  stationName?: string
  /** 业务订单号 */
  orderCode?: string
  /** 平台订单号 */
  platOrderCode?: string
  /** 开始时间 */
  stationType:string

  beginDay: string
  /** 结束时间 */
  endDay: string
}

export interface ChargeSettle {
  /** 结算日期 */
  createDay: string
  endDay: string
  /** 电费 */
  electricMoney: number
  /** 订单号 */
  id: string
  /** 所属方分成 */
  ownerMoney: number
  /** 通道费 */
  pathMoney: number
  /** 充电量（度） */
  power: number
  /** 服务费 */
  serviceMoney: number
  /** 结算单 ID */
  settleId: string
  /** 结算电费 */
  settleElectricMoney: number
  /** 总费用-结算后 */
  settleMoney: number
  /** 服务费-结算后 */
  settleServiceMoney: number
  /** 场站 ID */
  stationId: string
  /** 场站名称 */
  stationName: string
  /** 终端编号 */
  stubId: string
  /** 设备类型 */
  stubType: EquipmentType
  /** 充电开始时间 */
  timeBegin: number
  /** 充电结束时间 */
  timeEnd: number
  /** 充电费 */
  totalMoney: number
  /** 运营分成 */
  workMoney: number
  /** 经销商 id */
  orgId: number
  /** 经销商名称 */
  orgName: string
  /** 付款状态 */
  status: ChargeSettleStatus
}

export async function queryChargeSettleList(params: QueryChargeSettleListParams) {
  return request<ChargeSettle[]>('/app/manager/chargeOrder/settle/list', {
    data: params,
  })
}

export async function exportChargeSettle(params: {id: string}) {
  return request<boolean>('/app/manager/chargeOrder/settle/export', {
    data: params,
  })
}
